package com.mephi.interfaces;

import com.mephi.model.Move;

/**
 * Interface contains operations available for each Profile
 * @author mephisto
 * 1.0 2011-05-26
 */
public interface Profile
{
	/**
	 * 
	 * @param name the name of the profile to set
	 */
	void setName(String name);
	
	/**
	 * 
	 * @return the name of the profile
	 */
	String getName();
	
	/**
	 * 
	 * @param gameMap assigns the map of the games
	 */
	void setGameMap(ConcurrentMap<String,Game<Move>> gameMap);
	
	/**
	 * 
	 * @return the map of the games assigned to this Profile
	 */
	ConcurrentMap<String,Game<Move>> getGameMap();
	
	/**
	 * Clears the map of the games.
	 */
	void clearGameMap();
}
